/**
 * Project Name:九色鹿
 * File Name:BaseSmsMessage.java
 * Package Name:com.fxp.project.jiuselu.entity
 * Date:2021-09-12 3:55 下午
 * Copyright (c) 2021, Jason.Wang All Rights Reserved.
 */
package com.fxp.project.jiuselu.commons.entity;

import com.fxp.project.jiuselu.commons.constant.ConstantCode;
import com.fxp.project.jiuselu.commons.exceptions.JiuLuException;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * ClassName: BaseSmsMessage<br/>
 * Function: 短信下发对象<br/>
 * Date: 2021-09-12 3:55 下午<br/>
 *
 * @author Jason.Wang
 * @version 1.0.0.0
 * @see
 * @since JDK 8
 */
@Getter
@AllArgsConstructor
public enum BaseSmsMessage {
    /**
     * 用户注册验证码 Id 为 0  使用 验证码短信发送 内容为 “”
     */
    REGISTER(0, 1, "您的验证码是%s（有效期为%d分钟），请勿泄漏给他人，如非本人操作请忽略此信息。");

    /**
     * 要发送的短信
     */
    private Integer type;
    /**
     * 调用的短信业务类型
     */
    private Integer key;
    /**
     * 短信模版
     */
    private String message;

    /**
     * getEnumByType: 根据当前的key获取对象<br/>
     *
     * @param key
     * @return
     * @author Jason.Wang
     * @createTime 2020/4/1 23:02
     */
    public static BaseSmsMessage getEnumByType(Integer key) {
        for (BaseSmsMessage item : BaseSmsMessage.values()) {
            if (item.getKey().equals(key)) {
                return item;
            }
        }
        throw new JiuLuException(ConstantCode.SYSTEM_EXCEPTION.getCode(), "通过key获取枚举类异常");
    }
}
